#名片管理系统

def start_system():
    """
    系统问候
    """
    print("*"*50)
    print("欢迎使用[名片管理系统] V1.0")
    print(" ")
    print("1.新建名片")
    print("2.显示全部")
    print("3.查询名片")
    print(" ")
    print("0.退出系统")
    print("*"*50)

dict_card=[]           #创建一个列表用于收集名片，名片使用字典类型
def new_card():
    """
    新建名片
    """
    user1={}
    name=input("请输入姓名：")
    user1['姓名']=name
    while True:
        mobile = input("请输入电话：")
        if len(mobile)==11:
            user1['电话']=mobile
            print("您的号码输入成功！")
            break
        else:
            print("输入号码不是11位，请重新输入。")

    qqNum=input("请输入QQ号：")
    user1['QQ']=qqNum
    email=input("请输入邮箱：")
    user1['邮箱']=email

    dict_card.append(user1)       #添加用户信息
    print("添加%s的名片成功！"%name)

def show_card():
    """
    显示名片
    """
    print("*"*50)
    #打印表头
    for tab in ["姓名","电话","QQ","邮箱"]:
        print(tab,end="\t\t\t\t")
    print(" ")      #换行作用
    print("="*50)
    for card_list in dict_card:
        print('%s\t\t%s\t\t%s\t\t%s'%(card_list['姓名'],
              card_list['电话'],
              card_list['QQ'],
              card_list['邮箱']))

def index_card():
    """
    查询名片
    """

    show_user = input("请输入查询姓名：")
    for user in dict_card:
        if (user['姓名']==show_user):
            print("找到了！")
            print(user)

            deal_card(user)
            break

    else:
        print("系统未查到此人！")


def deal_card(find_user):
    """
    处理查找的名片
    :param find_user: 查找要修改的名片
    """
    deal_info=input("请输入对名片的操作：1：修改/ 2：删除/ 0：返回上级菜单")
    if deal_info=='1':
        find_user['姓名']=input_card_info(find_user['姓名'],"请输入姓名：")
        find_user['电话']=input_card_info(find_user['电话'],"请输入电话：")
        find_user['QQ']=input_card_info(find_user['QQ'],"请输入QQ：")
        find_user['邮箱']=input_card_info(find_user['邮箱'],"请输入邮箱：")

        print("修改成功！")
    elif deal_info=='2':
        dict_card.remove(find_user)
        print("删除成功！")


def input_card_info(dict_value,tip_message):
    """
    输入名片
    :param dict_value: 字典中原有的值
    :param tip_message: 用户修改时输入的值
    :return: 如果用户有输入值则返回新输入的值，如果用户没有输入值则返回字典中原有的值
    """
    #1、提示用户输入内容
    result_str=input(tip_message)

    #2、针对用户的输入进行判断，用户输入内容则直接返回结果
    if len(result_str)>0:
        return result_str
    #3、如果用户没有输入内容，返回“字典中原有的值”
    else:
        return dict_value
